home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / JTable$ThreadSafePrintable.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.6 KB  |  65 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Graphics;
  4. import java.awt.print.PageFormat;
  5. import java.awt.print.Printable;
  6. import java.awt.print.PrinterException;
  7.  
  8. class JTable$ThreadSafePrintable implements Printable {
  9.    private Printable printDelegate;
  10.    private int retVal;
  11.    private Throwable retThrowable;
  12.    // $FF: synthetic field
  13.    final JTable this$0;
  14.  
  15.    public JTable$ThreadSafePrintable(JTable var1, Printable var2) {
  16.       this.this$0 = var1;
  17.       this.printDelegate = var2;
  18.    }
  19.  
  20.    public int print(Graphics var1, PageFormat var2, int var3) throws PrinterException {
  21.       JTable.ThreadSafePrintable.1 var4 = new JTable.ThreadSafePrintable.1(this, var1, var2, var3);
  22.       synchronized(var4) {
  23.          this.retVal = -1;
  24.          this.retThrowable = null;
  25.          SwingUtilities.invokeLater(var4);
  26.  
  27.          while(this.retVal == -1 && this.retThrowable == null) {
  28.             try {
  29.                var4.wait();
  30.             } catch (InterruptedException var8) {
  31.             }
  32.          }
  33.  
  34.          if (this.retThrowable != null) {
  35.             if (this.retThrowable instanceof PrinterException) {
  36.                throw (PrinterException)this.retThrowable;
  37.             } else if (this.retThrowable instanceof RuntimeException) {
  38.                throw (RuntimeException)this.retThrowable;
  39.             } else if (this.retThrowable instanceof Error) {
  40.                throw (Error)this.retThrowable;
  41.             } else {
  42.                throw new AssertionError(this.retThrowable);
  43.             }
  44.          } else {
  45.             return this.retVal;
  46.          }
  47.       }
  48.    }
  49.  
  50.    // $FF: synthetic method
  51.    static int access$702(JTable$ThreadSafePrintable var0, int var1) {
  52.       return var0.retVal = var1;
  53.    }
  54.  
  55.    // $FF: synthetic method
  56.    static Printable access$800(JTable$ThreadSafePrintable var0) {
  57.       return var0.printDelegate;
  58.    }
  59.  
  60.    // $FF: synthetic method
  61.    static Throwable access$902(JTable$ThreadSafePrintable var0, Throwable var1) {
  62.       return var0.retThrowable = var1;
  63.    }
  64. }
  65.